package com.market.quote.modules.stock.domain.service;

import com.market.quote.modules.stock.domain.dto.StockInfoDTO;
import com.market.quote.modules.stock.domain.dto.StockRequestDTO;

import java.util.List;

/**
 * @author duweibin
 * @date 2024/4/22
 * @description stock service
 */
public interface StockService {


    /**
     * 根据id查询股票报价
     * @param id id
     * @return StockInfoDTO
     */
    StockInfoDTO getStockInfoById(Long id);

    /**
     * 根据日期和股票代码查询股票报价
     * @param stockRequestDTO 查询对象
     * @return StockInfoDTO
     */
    StockInfoDTO getStockInfo(StockRequestDTO stockRequestDTO);

    /**
     * 根据日期和股票代码查询股票报价，匹配多条记录
     * @param stockRequestDTO  查询对象
     * @return StockInfoDTO list
     */
    List<StockInfoDTO> getStockInfoList(StockRequestDTO stockRequestDTO);

    /**
     * 股票报价信息入库
     * @param stockInfoDTO
     */
    void saveStock(StockInfoDTO stockInfoDTO);

    /**
     * 股票报价信息批量入库
     * @param stockInfoDTOList
     */
    void batchInsertStock(List<StockInfoDTO> stockInfoDTOList);

    /**
     * 股票报价信息删除
     * @param id 股票信息id
     */
    void deleteStock(Long id);
}
